/*
 * Copyright 2020 eBlocker Open Source UG (haftungsbeschraenkt)
 *
 * Licensed under the EUPL, Version 1.2 or - as soon they will be
 * approved by the European Commission - subsequent versions of the EUPL
 * (the "License"); You may not use this work except in compliance with
 * the License. You may obtain a copy of the License at:
 *
 *   https://joinup.ec.europa.eu/page/eupl-text-11-12
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package org.eblocker.server.common.network;

import com.google.inject.Singleton;

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * Class exposing static methods of InetAddress to enable unit-testing.
 */
@Singleton
public class InetAddressWrapper {

    public InetAddress[] getAllByName(String host) throws UnknownHostException {
        return InetAddress.getAllByName(host);
    }

    public InetAddress getByAddress(byte[] addr) throws UnknownHostException {
        return InetAddress.getByAddress(addr);
    }

    public InetAddress getByAddress(String host, byte[] addr) throws UnknownHostException {
        return InetAddress.getByAddress(host, addr);
    }

    public InetAddress getByName(String host) throws UnknownHostException {
        return InetAddress.getByName(host);
    }

    public InetAddress getLocalHost() throws UnknownHostException {
        return InetAddress.getLocalHost();
    }

    public InetAddress getLoopbackAddress() {
        return InetAddress.getLoopbackAddress();
    }

}
